# -*- coding:utf-8 -*-
"""
@Author : 审心
@Time : 2023/5/2 17:23
日期时间工具类
"""

import datetime
import pytz


def seconds_until_end_of_day(days: int) -> int:
    """
    计算距离指定天数结束还有多少秒（以中国上海时间为准）。
    :param days 指定天数
    Returns:
        一个整数值，表示距离今天结束还有多少秒。
    """
    # 获取当前时间（UTC时间）
    now_utc = datetime.datetime.utcnow()
    # 转换为上海时区的时间
    tz_sh = pytz.timezone('Asia/Shanghai')
    now_sh = tz_sh.localize(now_utc)
    # 获取今天的日期
    today = now_sh.date()
    # 获取明天的日期
    tomorrow = today + datetime.timedelta(days=days)
    # 构造今天的结束时间
    end_of_day = tz_sh.localize(datetime.datetime.combine(tomorrow, datetime.time.min))
    # 计算时间差，并转换为秒数
    return int((end_of_day - now_sh).total_seconds())


def get_yesterday():
    from datetime import datetime, timedelta
    yesterday = datetime.now() - timedelta(days=1)
    return yesterday.strftime('%Y-%m-%d')
